package com.leoman.service;

import com.leoman.entity.Post;
import com.leoman.exception.ParamErrorException;
import com.leoman.exception.UserNotFindException;
import com.leoman.exception.UserSealStatusException;
import com.leoman.service.common.ICommonService;
import org.springframework.data.domain.Page;
import org.springframework.web.multipart.MultipartRequest;

import java.util.List;

/**
 * PostService
 * Created by 涂奕恒 on 2016/10/18 0018 下午 3:12.
 */
public interface PostService extends ICommonService<Post> {

    // 查询帖子列表并分页
    Page<Post> iPageForApp(Integer userId, Integer pageNum, Integer pageSize);

    // 用户发帖
    void sendPost(Integer userId, String content, MultipartRequest multipartRequest, Integer imgNum)
            throws ParamErrorException, UserNotFindException, UserSealStatusException;

    // *
    // *
    // *
    // * 上面的是移动端接口
    // *
    // * 我是分割线
    // *
    // * 下面的是后台的方法
    // *
    // *
    // *

    // 查询新增帖子数
    Integer findCountWithNewPost(Integer index);

    // 根据审核状态查询帖子列表
    List<Post> findListByCheckStatus(Integer checkStatus);

    // 帖子分页查询
    Page<Post> pageByParams(String content, String nickName, Integer checkStatus, Integer pageNum, Integer pageSize);

    // 批量修改帖子审核状态
    Integer changePostCheckStatus(Integer[] postIds, Integer status);

    // 批量删除帖子
    Integer batchDelete(Integer[] postIds);

    // 删除帖子
    Integer deleteByPostId(Integer postId);
}